perm filename NGAK.SAI[CMS,LCS] blob
sn#209642 filedate 1976-03-30 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN "GACK"
C00005 ENDMK
C⊗;
BEGIN "GACK"
REQUIRE "DDHDR.SAI[GRA,HPM]" SOURCE_FILE;
INTEGER N,D,I,J,K,LAST;
INTEGER ARRAY CH[0:7];
REAL SIZE;
OUTSTR(" NUMBER OF DRIPS = ");N←CVD(INCHWL);
OUTSTR(" DIRECTION (0=FORWARD,1=BACK,2=BOTH) = ");
D←CVD(INCHWL);IF D<0∨D>2 THEN D←0;
BEGIN
REAL ARRAY X[0:N],Y[0:N],SZ[0:N];
DDINIT;
SCREEN(0,0,1.,1.);
RAN(CALL(0,"TIMER"));
FOR I←0 STEP 1 UNTIL 7 DO CH[I]←SYNMAP(I);
FOR I←0 STEP 1 UNTIL N DO BEGIN
SZ[I]←RAN(0)/5;X[I]←RAN(0);Y[I]←RAN(0);END;
I←0;
DO BEGIN
IF SZ[I]<SZ[I+1] THEN BEGIN
SZ[I]↔SZ[I+1];
IF I THEN I←I-2;END;
I←I+1;END
UNTIL I=N;
FOR I←7 STEP -1 UNTIL 0 DO BEGIN
LAST←1;SIZE←.5;DRKEN;RECTAN(0,0,1,1);
FOR J←0 STEP 1 UNTIL 2↑8-1 DO BEGIN
IF ((J LSH -I) LAND 1) THEN LITEN ELSE DRKEN;
IF ((J LSH -I) LAND 1)≠LAST THEN BEGIN
RECTAN(0,.5-SIZE,1,.5);
LAST←1-LAST;END;
SIZE←SIZE*0.98;END;
FOR K←0 STEP 1 UNTIL N DO BEGIN
LAST←1;SIZE←SZ[K];
FOR J←0 STEP 1 UNTIL 2↑8-1 DO BEGIN
IF D=2 THEN
IF ((J LSH -I) LAND 1)=(K LAND 1) THEN DRKEN ELSE LITEN
ELSE IF ((J LSH -I) LAND 1)≠D THEN LITEN ELSE DRKEN;
IF ((J LSH -I) LAND 1)≠LAST THEN BEGIN
ELLIPS(X[K]-SIZE,Y[K]-SIZE,X[K]+SIZE,Y[K]+SIZE);
LAST←1-LAST;END;
SIZE←SIZE*0.98;END;END;
GDDCHN(CH[I]);
FOR K←1 STEP 1 UNTIL 3 DO DPYUP(CH[I]);END;
END;
END "GACK";